/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package admin_conexion;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Chapas Data controlo manejará la lógica del negocio y administrará
 * los datos necesarios y operaciones.
 */
public class ControlDatos {

    private AdminConexion adminc = new AdminConexion();

    public boolean InsertarAuto(String tp, String placa, String marca, String linea, int anio, String tipo, String color, String fecha, int recorrido, String tipor, int cli) {

        try {
            String query = "insert into vehiculo (placa,	marca,	linea,	anio,	tipo,	color,fecha_ingreso,recorrido,tipo_recorrido,cliente_idcliente) values"
                    + "( '" + tp + "-" + placa + "','" + marca + "','" + linea + "'," + anio + ",'" + tipo + "','" + color + "',STR_TO_DATE('" + fecha + "','%d/%m/%Y')," + recorrido + ",'" + tipor + "'," + cli + ");";

            System.out.println(query);
            adminc.update(query);
            return true;
        } catch (Exception e) {

            System.out.println("Error en insertar auto.");
            return false;
        }

    }

    public boolean InsertarCliente(String nom, String ap, String tca, String tmov, String nit, String fecha) {

        try {
            String query = " insert into cliente (nombre, apellido, tel_casa,tel_movil,nit,fecha_ingreso  )"
                    + "values	('" + nom + "','" + ap + "', '" + tca + "', '" + tmov + "','" + nit + "',STR_TO_DATE('" + fecha + "','%d/%m/%Y'));";

            System.out.println(query);
            adminc.update(query);
            return true;
        } catch (Exception e) {

            System.out.println("Fallo Insertar Cliente");
            return false;
        }


    }

    public boolean updateRecorridoyServicio(String placa, int recorrido, int servicio) {
        
        try {
            String query = " Update vehiculo "+ 
                           " set recorrido ="+recorrido+" , prox_servicio =" + servicio +
                           " where placa = '"+placa+"'";

            System.out.println(query);
            adminc.update(query);
            return true;
        } catch (Exception e) {

            System.out.println("Fallo update Recorrido y Prox Servicio");
            return false;
        }
    }

    public ResultSet ConsultarAuto(int id) {
        ResultSet resultado = null;

        try {
            String query = "Select Marca, Modelo,Linea,Tipo,Color,Estado,Placa from Automovil"
                    + "where idAutomovil = " + id;
            System.out.println("ConsultarAuto-- :" + query);
            resultado = adminc.consulta(query);
        } catch (Exception e) {
            System.out.println("Fallo ConsultarAuto");

        }
        return resultado;
    }

    public ResultSet ConsultarClientes() {
        ResultSet resultado = null;

        try {

            String query = "Select * from Cliente";
            System.out.println("ConsultarAuto-- :" + query);
            resultado = adminc.consulta(query);

        } catch (Exception e) {
            System.out.println("Fallo ConsultarAuto");

        }
        return resultado;
    }

    public void openc() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
        Connection abrirConexionBDD = this.adminc.abrirConexionBDD();
    }

    public void closec() throws SQLException {
        this.adminc.cerrarConexionBDD();
    }
}
